using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using HerGoS.Interfaces;
using HerGoS.Administration.Entities;


namespace HerGoS.Documentos.Entities
{   
    [Serializable]
	public class Documento :  HGSEntity
	{
      
        #region Construction
     
        public Documento()
		{
            Initializer();
        }
        private void Initializer()
        {

        }
		#endregion

		#region DataMembers

        private HerGoS.Documentos.Entities.TipoDocumento _TipoDocumento;
		private Entidad _Entidad;
		private Persona _PersonaFirmante;
		private Int32 _Numero;
		private Int32 _Ano;
		private Int32 _Copia;
		private LegajoDocumento _LegajoDocumento;
		private String _NumeroExterno;
		private DateTime? _FechaExterna;
        private Tema _Tema;
		private String _Referencia;
		private String _Descripcion;
		private TipoMoneda _Moneda;
		private decimal _Importe;
        private ClaseDocumento _clasedocumento;

     

		#endregion

		#region Properties


        public HerGoS.Documentos.Entities.TipoDocumento TipoDocumento
        {
		    get { return _TipoDocumento; }
		    set { this._TipoDocumento = value; }
		}

		public Entidad Entidad {
		    get { return _Entidad; }
		    set { this._Entidad = value; }
		}

		public Persona PersonaFirmante {
		    get { return _PersonaFirmante; }
		    set { this._PersonaFirmante = value; }
		}

		public Int32 Numero {
		    get { return _Numero; }
		    set { this._Numero = value; }
		}

		public Int32 Ano {
		    get { return _Ano; }
		    set { this._Ano = value; }
		}

		public Int32 Copia {
		    get { return _Copia; }
		    set { this._Copia = value; }
		}

		public LegajoDocumento LegajoDocumento {
		    get { return _LegajoDocumento; }
		    set { this._LegajoDocumento = value; }
		}

		public String NumeroExterno {
		    get { return _NumeroExterno; }
		    set { this._NumeroExterno = value; }
		}

		public DateTime? FechaExterna {
		    get { return _FechaExterna; }
		    set { this._FechaExterna = value; }
		}

		public Tema Tema {
		    get { return _Tema; }
		    set { this._Tema = value; }
		}

		public String Referencia {
		    get { return _Referencia; }
		    set { this._Referencia = value; }
		}

		public String Descripcion {
		    get { return _Descripcion; }
		    set { this._Descripcion = value; }
		}

        public TipoMoneda Moneda
        {
		    get { return _Moneda; }
		    set { this._Moneda = value; }
		}

		public decimal Importe {
		    get { return _Importe; }
		    set { this._Importe = value; }
		}

        public ClaseDocumento Clase
        {
            get { return _clasedocumento; }
            set { this._clasedocumento = value; }
        }

		#endregion
		
		#region Overrides
		/// <summary>
		/// Returns the string of the object.
		/// </summary>
		/// <returns>String</returns>
		public override String ToString()
		{
			return this.ToString();
		}

		#endregion
	}
}